package com.csgc.camera.bean

import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass

@JsonClass(generateAdapter = true)
data class InitParams(
    @Json(name = "appVersion") val appVersion: String,
    @Json(name = "packageName") val packageName: String,
    @Json(name = "oaid") val oaid: String = "",
    @Json(name = "channelNo") val channel: String,

)

@JsonClass(generateAdapter = true)
data class OaidParams(
    @Json(name = "oaid") val oaid: String = "",
    @Json(name = "appVersion") val appVersion: String,
    @Json(name = "packageName") val packageName: String,
    @Json(name = "channelNo") val channel: String,
    )


@JsonClass(generateAdapter = true)
data class CodeLoginParams(
    @Json(name = "phone") val phone: String,
    @Json(name = "code") val code: String,
    @Json(name = "oaid") val oaid: String,
    @Json(name = "packageName") val appPackageName: String,
    @Json(name = "channelNo") val channel: String,
)

@JsonClass(generateAdapter = true)
data class UserInfoParams(
    @Json(name = "token") val token: String,
)

@JsonClass(generateAdapter = true)
data class SendCodeParams(
    @Json(name = "phone") val phone: String,
    @Json(name = "packageName") val appPackageName: String,
)

@JsonClass(generateAdapter = true)
data class VipTypeParams(
    @Json(name = "packageName") val appPackageName: String,
)

@JsonClass(generateAdapter = true)
data class VipPayParams(
    @Json(name = "packageName") val appPackageName: String,
    @Json(name = "userId") val userId: Long,
    @Json(name = "productId") val productId: Int,
    @Json(name = "special") val special: Int = 0,
    @Json(name = "channelNo") val channelNo: String,

)


@JsonClass(generateAdapter = true)
data class FeedBackParams(
    @Json(name = "packageName") val appPackageName: String,
    @Json(name = "appName") val appName: String,
    @Json(name = "suggestWay") val suggestWay: String,
    @Json(name = "suggestInfo") val suggestInfo: String
    )


@JsonClass(generateAdapter = true)
data class WxLoginParams(
    @Json(name = "code") val code: String,
    @Json(name = "oaid") val oaid: String,
    @Json(name = "packageName") val appPackageName: String,
    @Json(name = "channelNo") val channel: String,
)


@JsonClass(generateAdapter = true)
data class WxBindParams(
    @Json(name = "code") val code: String,
    @Json(name = "oaid") val oaid: String,
    @Json(name = "token") val token: String,
    @Json(name = "packageName") val appPackageName: String,
    @Json(name = "channelNo") val channel: String,
)

@JsonClass(generateAdapter = true)
data class BindPhoneParams(
    @Json(name = "phone") val phone: String,
    @Json(name = "code") val code: String,
    @Json(name = "oaid") val oaid: String,
    @Json(name = "token") val token: String,
    @Json(name = "packageName") val appPackageName: String,
    @Json(name = "channelNo") val channel: String,
)